package properties;

import java.io.InputStream;
import java.util.Properties;

public class PropertiesDemo {

    //Unicode转中文方法
    private static String unicodeToCn(String unicode) {
        /** 以 \ u 分割，因为java注释也能识别unicode，因此中间加了一个空格*/
        String[] strs = unicode.split("\\\\u");
        String returnStr = "";
        // 由于unicode字符串以 \ u 开头，因此分割出的第一个字符是""。
        for (int i = 1; i < strs.length; i++) {
            returnStr += (char) Integer.valueOf(strs[i], 16).intValue();
        }
        return returnStr;
    }

    //中文转Unicode
    private static String cnToUnicode(String cn) {
        char[] chars = cn.toCharArray();
        String returnStr = "";
        for (int i = 0; i < chars.length; i++) {
            returnStr += "\\u" + Integer.toString(chars[i], 16);
        }
        return returnStr;
    }

    public static void main(String[] args) throws Exception {

        System.out.println(cnToUnicode("张三"));

        Properties properties = new Properties();

        //类加载器定位，从项目的ClassPath类路径下获取资源(path不能带’/’)
        InputStream is = PropertiesDemo.class.getClassLoader().getResourceAsStream("users.properties");
        properties.load(is);

        //普通文件定位，文件模块下的根目录下寻找，是绝对地址写法。
        /*
        InputStream is = new FileInputStream(new File("iodemo/src/users.properties"));
        properties.load(is);
        */

        System.out.println(properties.getProperty("username"));
        System.out.println(properties.getProperty("password"));
        System.out.println(properties.getProperty("age"));
        System.out.println(properties.getProperty("address"));
    }
}
